package com.cleaningcloud.cld.domain;

import com.cleaningcloud.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;

/**
 * packageName com.cleaningcloud.erp.domain
 *
 * @author Shaw
 * @version JDK 8
 * @className FinanceReportBI
 * @date 2025-04-16
 * @description 物资BI
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class FinanceReportBI extends BaseEntity {

    // 参数值ID
    private int paramsId;
    // 参数值名称
    private String paramsName;
    // 参数值
    private BigDecimal rv;
    // 参数与实际差异
    private BigDecimal rvDiff;
    // 计划值
    private BigDecimal pv;
    // 计划与实际差异
    private BigDecimal pvDiff;
    // 经度
    private BigDecimal longitude;
    // 纬度
    private BigDecimal latitude;

    // 日期值
    private String dateVal;
    // 类型
    private int selectType;


    // ------------合同金额------------
    // 市区
    private String city;
    // 业态
    private String business;
    // 合同金额
    private BigDecimal contractMoney;
    // 合同金额占比
    private BigDecimal contractMoneyRate;

    // ------------合同金额(下钻)------------
    // 项目ID
    private Long projectId;
    // 项目名称
    private String projectName;
    // 合同人数
    private int contractNumber;
    // 人员单价
    private BigDecimal contractStaffMoney;
    // 合同金额（月）
    private BigDecimal contractMonthMoney;
    // 合同金额（年）
    private BigDecimal contractYearMoney;
    // 合同开始日期
    private String contractStartDate;
    // 合同结束日期
    private String contractEndDate;
    // 合同时间
    private BigDecimal contractTime;
    // 合同到期天数
    private int contractEndDay;


    // ------------工资版块------------
    // 基本工资
    private BigDecimal basicSalary;
    // 经理津贴
    private BigDecimal handleAllowance;
    // 主管津贴
    private BigDecimal managerAllowance;
    // 领班津贴
    private BigDecimal foremanAllowance;
    // 加班费
    private BigDecimal overTimeCost;

    // ------------工资版块(下钻)------------
    // 本月计划工资
    private BigDecimal planSalary;
    // 本月参数工资
    private BigDecimal parameterSalary;
    // 工资占比
    private BigDecimal salaryRate;
    // 实际工资
    private BigDecimal avSalary;
    // 参考值List
    private List<BigDecimal> pvList;
    // 计划值List
    private List<BigDecimal> rvList;
    // 应付值List
    private List<BigDecimal> avList;
    // 基本工资
    private List<BigDecimal> salaryList;
    // 领班津贴
    private List<BigDecimal> lbAllowanceList;
    // 主管津贴
    private List<BigDecimal> zgAllowanceList;
    // 经理津贴
    private List<BigDecimal> jlAllowanceList;
    // 加班费
    private List<BigDecimal> overTimeList;

    // ------------物资+资产版块------------
    // 建议采购/月
    private BigDecimal suggestionProcureNumber;
    // 资产折旧
    private BigDecimal assetsDepreciation;
    // 维修费用
    private BigDecimal maintenancePrice;
    // 低值易耗
    private BigDecimal lowValue;
    // 物资总成本
    private BigDecimal materialSumCost;


    // ------------税费+抵扣版块------------
    // 税费
    private BigDecimal taxAmount;


    // ------------其他成本版块------------
    // 工服费用
    private BigDecimal clothesCost;
    // 保险费用
    private BigDecimal insuranceCost;
    // 福利费用
    private BigDecimal benefitCost;
    // 招待费用
    private BigDecimal entertainCost;


    // ------------利润叠加版块------------
    // 月度(实际)成本
    private BigDecimal monthCost;
    // 利润差
    private BigDecimal profitDff;


    // ------------按公司查询账户信息------------
    // 公司名称
    private String companyName;
    // 余额
    private BigDecimal amount;


    // ------------应收实收------------
    //本期应收
    private BigDecimal currentReceivable;
    //历史应收
    private BigDecimal historyReceivable;
    //本期实收
    private BigDecimal currentReceipts;
    //本期应收剩余
    private BigDecimal currentReceivableDiff;
    //历史实收
    private BigDecimal historyReceipts;
    //历史应收剩余
    private BigDecimal historyReceiptDiff;
    //总应收
    private BigDecimal sumReceivable;

}
